Network game systems can be roughly categorized into two types, i.e., client/server type network game systems and peer-to-peer network game systems.
In a client/server type network game system, each user terminal is connected to a game server as a client, and the game server mainly performs game processes to execute a game. In the client/server type network game system, the greater the number of user terminals connected to the game server, the greater is the processing load on the game server. For this reason, the game server is required to have high capacity. This leads to a high cost of constructing the network game system, which is a disadvantage of the client/server type.
On the other hand, in a peer-to-peer network game system, basically, a game is executed through communications performed among user terminals. For this reason, a game server having high capacity, which is necessary for the client/server type network game system, is not necessary. In addition, data transfer among the user terminals is not required to be performed via a game server. Therefore, the peer-to-peer network game system is suitable for executing a game requiring real-time processing such as a racing game. An exemplary peer-to-peer network game system is disclosed in a non-patent document 1 (Jung Wun-Chul, “Online Game Programming”, SOFTBANK Publishing Inc., Mar. 3, 2005, first edition, pp. 218-222).
Although the above non-patent document 1 discloses a manner of connecting a user terminal to the peer-to-peer network, the non-patent document 1 does not disclose a manner of disconnecting from the network a user terminal whose connection status to the other user terminals in the network is unstable or which is in a state of connection-disabled.
Unlike the client/server type network game system, the peer-to-peer network game system has a feature in which user terminals each individually perform arithmetic processing in accordance with signals received from the other user terminals. For this reason, if, in the game system, each user terminal freely ceases communicating with a user terminal whose connection status to said each user terminal is unstable or which has been unable to communicate with said each user terminal for a predetermined period of time, a status of a game commonly executed by the user terminals is differently displayed on a screen of each of the user terminals. This may cause a significantly negative effect on a progress of the game.
For example, if, in a peer-to-peer network game system comprising four game devices A to D as shown in FIG. 27, a failure occurs on a communication line between the game devices A and B, the game device A continues to perform game processes in accordance with game data of the game device A and game data transmitted from the game devices C and D, since the game device A cannot receive game data from the game device B. In such a case, however, the game device C continues to perform game processes in accordance with game data of the game device C and game data transmitted from the game devices A, B and D. This consequently causes a difference between a result of the game processes performed by the game device A and a result of the game processes performed by the game device C.
Therefore, a feature of certain exemplary embodiments is to provide a network game system capable of disconnecting from a user terminal whose connection status to the other user terminals in the network is unstable or which is in a state of connection-disabled, thereby solving the above-described problem in the conventional peer-to-peer network game system, i.e., preventing a status of a game commonly executed by user terminals in the game system from being differently displayed on a screen of each of the user terminals.
Certain exemplary embodiments have the following aspects to achieve the feature mentioned above. Note that reference numerals and the like indicated between parentheses are merely provided to facilitate the understanding of certain exemplary embodiments in relation to the drawings, rather than limiting the scope of the certain exemplary embodiments in any way.
A first aspect of certain exemplary embodiments is a computer-readable storage medium for storing a game program (20) which is, in a game system in which a plurality of game devices (10) transmit and receive game data to and from each other and each of the plurality of game devices performs game processes by using the game data received from other game devices, executed by each of the plurality of game devices. The game program causes a computer (11) of each of the plurality of game devices to function as communication partners list addition means (S12), communication status determination means (S30), first communication status information update means (S32), communication status information transmission means (S38), communication status information reception means (S16), second communication status information update means (S36) and communication partners list deletion means (S42). The communication partners list addition means is for, when another game device is newly connected to a network, to which said each of the plurality of game devices belongs, as a new communication partner, adding the new communication partner to a communication partners list (21) which is a listing of communication partners of said each of the plurality of game devices, the communication partners list being retained in a storage section (12) of said each of the plurality of game devices. The communication status determination means is for determining, based on a reception status (23) a signal from each of the communication partners, whether or not a communication between said each of the plurality of game devices and each of the communication partners is possible. The first communication status information update means is for, based on a determination result provided by the communication status determination means, updating as necessary a piece of communication status information about said each of the plurality of game devices (22a) which is retained in the storage section and which shows whether or not the communication between said each of the plurality of game devices and each of the communication partners is possible. The communication status information transmission means is for regularly transmitting the piece of communication status information about said each of the plurality of game devices (22a) to the communication partners. The communication status information reception means is for receiving, from the communication partners, pieces of communication status information about the communication partners (22b), and storing the pieces of communication status information in the storage section. The second communication status information update means is for referring to the pieces of communication status information about the communication partners received by the communication status information reception means, and, when any of the pieces of communication status information about the communication partners indicates that a particular game device which is one of the communication partners is unable to perform communication, updating the piece of communication status information about said each of the plurality of communication devices (22a) such that the piece of communication status information indicates that the particular game device is unable to perform communication. The communication partners list deletion means is for referring to the piece of communication status information about said each of the plurality of game devices (22a) and the pieces of communication status information about the communication partners (22b) which are retained in the storage section, and, when all pieces of communication status information indicate that a particular game device which is one of the communication partners is unable to perform communication, deleting the particular game device from the communication partners list (21).
As a modification example of the first aspect, the game program may further cause the computer of each of the plurality of game devices to function as: game data transmission/reception means (S38, S16) for transmitting and receiving the game data to and from each of the communication partners specified by the communication partners list; and game processing means (S23) for performing game processes in accordance with the game data received from each of the communication partners by the game data transmission/reception means.
As another modification example of the first aspect, the game data transmission/reception means may regularly transmit and receive the game data.
As still another modification example of the first aspect, the piece of communication status information about each of the plurality of game devices is transmitted to any of the communication partners by the communication status information transmission means of said each of the plurality of game devices at a same time when the game data is transmitted to said any of the communication partners by the game data transmission/reception means of said each of the plurality of game devices.
As still another modification example of the first aspect, the piece of communication status information about each of the plurality of game devices may contain a list showing, from among the communication partners of said each of the plurality of game devices which are listed in the communication partners list, only communication partners which have been determined by the communication status determination means as being able to perform communication (FIG. 7A).
As still another modification example of the first aspect, the communication status determination means may measure an elapsed time from a last reception of a signal from each of the communication partners, and may determine, based on whether or not the elapsed time has reached a predetermined period of time, whether or not a communication with said each of the communication partners is possible.
A second aspect of certain exemplary embodiments is a game device used in a game system in which a plurality of game devices (10) transmit and receive game data to and from each other, and each of the plurality of game devices performs game processes by using the game data received from other game devices. The game device comprises communication partners list addition means (11, S12), communication status determination means (11, S30), first communication status information update means (11, S32), communication status information transmission means (11, S38), communication status information reception means (11, S16), second communication status information update means (11, S36) and communication partners list deletion means (11, S42).
A third aspect of certain exemplary embodiments is a game processing method which a plurality of game devices, which transmit and receive game data to and from each other, each execute by using the game data received from other game devices. The game processing method comprises: a communication partners list addition step of, when another game device is newly connected to a network, to which each of the plurality of game devices belongs, as a new communication partner, adding the new communication partner to the communication partners list which is a listing of communication partners of said each of the plurality of game devices, the communication partners list being retained in a storage section of said each of the plurality of game devices; a communication status determination step of determining, based on a status of receiving a signal from each of the communication partners, whether or not a communication between said each of the plurality of game devices and each of the communication partners is possible; a first communication status information update step of, based on a determination result provided at the communication status determination step, updating as necessary a piece of communication status information about said each of the plurality of game devices which is retained in the storage section and which shows whether or not the communication between said each of the plurality of game devices and each of the communication partners is possible; a communication status information transmission step of regularly transmitting the piece of communication status information about said each of the plurality of game devices to the communication partners; a communication status information reception step of receiving, from the communication partners, pieces of communication status information about the communication partners, and storing the pieces of communication status information in the storage section; a second communication status information update step of referring to the pieces of communication status information about the communication partners received at the communication status information reception step, and, when any of the pieces of communication status information about the communication partners indicates that a particular game device which is one of the communication partners is unable to perform communication, updating the piece of communication status information about said each of the plurality of communication devices such that the piece of communication status information indicates that the particular game device is unable to perform communication; and a communication partners list deletion step of referring to the piece of communication status information about said each of the plurality of game devices and the pieces of communication status information about the communication partners which are retained in the storage section, and, when all pieces of communication status information indicate that a particular game device which is one of the communication partners is unable to be perform communication, deleting the particular game device from the communication partners list.
According to certain exemplary embodiments, each of the plurality of game devices in the game system ceases communicating with a game device which is currently unable to communicate with said each of the plurality of game devices only when said each of the plurality of game devices has confirmed, based on the communication status information received from the communication partners, that all of the communication partners specified by the communication partners list of said each of the plurality of game devices are prepared to cease communicating with the game device. This prevents, in a peer-to-peer network game system, e.g., the occurrence of a situation in which one game device performs game processes in accordance with game data received from three game devices, and another game device performs game processes in accordance with game data received from four game devices. Thus, differences are prevented from occurring among results of the game processes performed by the user terminals.
These and other features, aspects and advantages of certain exemplary embodiments will become more apparent from the following detailed description of the exemplary embodiments when taken in conjunction with the accompanying drawings.